#ifndef _HOLYSHIELD_SCRIPTWRITER
#define _HOLYSHIELD_SCRIPTWRITER

//#include <config.h>
//#include <gnome.h>
#include <gtk/gtk.h>
//#include "wizard.h"
#include "policyview.h"

#define RETURN_EXT_FAILED 2
#define RETURN_INT_FAILED 3
#define RETURN_NO_IPTABLES 100

#define HOLYSHIELD_CONTROL_SCRIPT       HOLYSHIELD_RULES_DIR"/script/holyshield.sh"
#define HOLYSHIELD_FIREWALL_SCRIPT      HOLYSHIELD_RULES_DIR"/script/firewall"
#define HOLYSHIELD_CONFIGURATION_SCRIPT HOLYSHIELD_RULES_DIR"/script/configuration"
#define HOLYSHIELD_SYSCTL_SCRIPT        HOLYSHIELD_RULES_DIR"/script/sysctl-tuning"
#define HOLYSHIELD_USER_PRE_SCRIPT      HOLYSHIELD_RULES_DIR"/script/user-pre"
#define HOLYSHIELD_USER_POST_SCRIPT     HOLYSHIELD_RULES_DIR"/script/user-post"
#define HOLYSHIELD_NON_ROUTABLES_SCRIPT HOLYSHIELD_RULES_DIR"/script/non-routables"
#define HOLYSHIELD_FILTER_HOSTS_SCRIPT  HOLYSHIELD_RULES_DIR"/script/events-filter-hosts"
#define HOLYSHIELD_FILTER_PORTS_SCRIPT  HOLYSHIELD_RULES_DIR"/script/events-filter-ports"
#define HOLYSHIELD_INBOUND_SETUP        POLICY_IN_DIR"/setup"
#define HOLYSHIELD_OUTBOUND_SETUP       POLICY_OUT_DIR"/setup"

gboolean script_exists (void);
void scriptwriter_output_scripts (void);

void scriptwriter_output_holyshield_script (void);
void scriptwriter_output_configuration (void);

void scriptwriter_write_ppp_hook (void);
void scriptwriter_remove_ppp_hook (void);

void scriptwriter_write_dhcp_hook (void);
void scriptwriter_remove_dhcp_hook (void);

gboolean scriptwriter_versions_match (void);

#endif
